﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.ServiceModel.Channels;
using PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.ClienteWs;
using PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.RelatorioWs;
using PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.UtilidadesWs;

namespace PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.GUI
{
    public partial class ClienteVerSaldo : System.Web.UI.Page
    {
        PubClub_Cliente_WS webServiceCliente = new PubClub_Cliente_WS();
        PubClub_Relatorio_WS webServiceRelatorio = new PubClub_Relatorio_WS();
        Utilizadades_WS webServiceUtilidades = new Utilizadades_WS();        

        ObjetoCliente cliente;
        ObjetoBebida bebida;


        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["Cliente"] == null)
            {
                Response.Redirect("Login.aspx?Logout=2");
            }
            else
            {
                cliente = webServiceCliente.GetCliente(Convert.ToInt32(Session["Cliente"]));
            }

            TableHeaderRow linhaCabecalho = new TableHeaderRow();

            TableHeaderCell celulaCabecalhoNomeDaBebida = new TableHeaderCell();
            Label labelCabecalhoNomeDaBebida = new Label();

            TableHeaderCell celulaCabecalhoCreditoDaBebida = new TableHeaderCell();
            Label labelCabecalhoCreditoDaBebida = new Label();

            TableHeaderCell celulaCabecalhoDebitoDaBebida = new TableHeaderCell();
            Label labelCabecalhoDebitoDaBebida = new Label();

            TableHeaderCell celulaCabecalhoSaldoTotal = new TableHeaderCell();
            Label labelCabecalhoSaldoTotal = new Label();

            labelCabecalhoNomeDaBebida.Text = "Bebida";
            celulaCabecalhoNomeDaBebida.Controls.Add(labelCabecalhoNomeDaBebida);
            linhaCabecalho.Cells.Add(celulaCabecalhoNomeDaBebida);

            labelCabecalhoCreditoDaBebida.Text = "Doses compradas";
            celulaCabecalhoCreditoDaBebida.Controls.Add(labelCabecalhoCreditoDaBebida);
            linhaCabecalho.Cells.Add(celulaCabecalhoCreditoDaBebida);

            labelCabecalhoDebitoDaBebida.Text = "Doses consumidas";
            celulaCabecalhoDebitoDaBebida.Controls.Add(labelCabecalhoDebitoDaBebida);
            linhaCabecalho.Cells.Add(celulaCabecalhoDebitoDaBebida);

            labelCabecalhoSaldoTotal.Text = "Saldo total";
            celulaCabecalhoSaldoTotal.Controls.Add(labelCabecalhoSaldoTotal);
            linhaCabecalho.Cells.Add(celulaCabecalhoSaldoTotal);

            TabelaSaldo.Rows.Add(linhaCabecalho);

            BindingList<Saldo> listaSaldo = new BindingList<Saldo>(webServiceRelatorio.SaldoCliente(cliente.ClienteId));
            int i = 0;

            if (listaSaldo.Count == 0)
            {
                LabelAviso.Text = "Você não comprou nenhuma dose ainda.";
                LabelAviso.Visible = true;

            }
            else
            {
                LabelAviso.Visible = false;
                TabelaSaldo.Visible = true;

                foreach (var item in listaSaldo)
                {
                    TableRow linhaDados = new TableRow();

                    TableCell celulaNomeDaBebida = new TableCell();
                    Label labelNomeDaBebida = new Label();

                    TableCell celulaCreditoDaBebida = new TableCell();
                    Label labelCreditoDaBebida = new Label();

                    TableCell celulaDebitoDaBebida = new TableCell();
                    Label labelDebitoDaBebida = new Label();

                    TableCell celulaSaldoTotal = new TableCell();
                    Label labelSaldoTotal = new Label();

                    bebida = webServiceUtilidades.GetBebidaById(item.BebidaId);

                    if (i % 2 != 0)
                    {
                        linhaDados.CssClass = "odd";

                    }
                    i++;

                    labelNomeDaBebida.Text = bebida.Descricao;
                    celulaNomeDaBebida.Controls.Add(labelNomeDaBebida);
                    linhaDados.Cells.Add(celulaNomeDaBebida);

                    labelCreditoDaBebida.Text = item.Creditos.ToString();
                    celulaCreditoDaBebida.Controls.Add(labelCreditoDaBebida);
                    linhaDados.Cells.Add(celulaCreditoDaBebida);

                    labelDebitoDaBebida.Text = item.Debitos.ToString();
                    celulaDebitoDaBebida.Controls.Add(labelDebitoDaBebida);
                    linhaDados.Cells.Add(celulaDebitoDaBebida);

                    labelSaldoTotal.Text = item.Resultado.ToString();
                    celulaSaldoTotal.Controls.Add(labelSaldoTotal);
                    linhaDados.Cells.Add(celulaSaldoTotal);

                    TabelaSaldo.Rows.Add(linhaDados);                   

                }
               
            }
            

        }
    }
}